windows下mysql配置(第一次)
忙活了大半天,总算配置好了,本文献给windows下没试用过Mysql的小白,勿喷
http://blog.csdn.net/z1074907546/article/details/51482718
1.首先去官网www.mysql.com下载最新版本,我的是5.7.13zip版,就是免安装,可以直接解压到需要的地方。
2.环境变量的配置:计算机-》右键-》属性-》高级系统设置-》高级-》环境变量 在PATH里面加入解压的地方,比如我是E盘,就加入E:\mysql-5.7.13-winx64\bin
注意! 有\bin
3.在解压的地方E:\mysql-5.7.13-winx64新建一个my.ini文件,添加如下内容:
[client] port=3306 default-character-set=utf8 [mysqld] port=3306 character_set_server=utf8 #解压目录 basedir=E:\mysql-5.7.13-winx64 #解压目录下data目录 datadir=E:\mysql-5.7.13-winx64\data sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
4.开始-》运行-》cmd。
首先 cd E:\mysql-5.7.13-winx64\bin
命令:mysqld --initialize #直接初始化mysql,生成data文件夹中的文件。
命令:mysqld -install #安装mysql
命令:net start mysql #启动服务器
如果成功,则进行 5 失败的话,自行百度一下。因为今天失败了还几次。都忘记具体哪里错了。
5、登陆
此时用mysql -uroot -p登录时,不知道密码,按以下步骤设置密码。
1)编辑解压目录下的 my.ini文件,在[mysqld]这个条目下加入
skip-grant-tables
保存退出后重启mysql
① 点击“开始”->“运行”(快捷键Win+R)。
② 停止:输入 net stop mysql
③ 启动:输入 net start mysql
这时候在cmd里面输入mysql -u root -p就可以不用密码登录了,出现password:的时候直接回车可以进入。
(1)进入mysql 数据库:
usemysql> mysql;
显示:
Database changed
(2)给root用户设置新密码,在命令行输入:
mysql>(版本5.7)update user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';
显示:
Query OK, 1 rows affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
(3)刷新数据库
mysql> flush privileges;
显示:
Query OK, 0 rows affected (0.00 sec)
(4)退出mysql:
mysql> quit
显示
Bye
改好之后,再修改一下my.ini这个文件,把我们刚才加入的"skip-grant-tables"这行删除,保存退出再重启mysql就可以了。
修改完毕。重启mysql服务。
登录:mysql -uroot -p123qwe
mysql就可以连接了
但此时操作似乎功能不完全,还要alter user…
mysql> alter user 'root'@'localhost' identified by '123';
这样也可以:
mysql> set password for 'root'@'localhost'=password('123');
然后:
mysql>quit;
登录:
Mysql -uroot -p123 就可以直接登录。
以后就可以直接在命令行输入 Mysql -uroot -p
密码:123
进入!
顺便附上今天学习的mysql语句
#建数据库mysql_shiyan CREATE DATABASE mysql_shiyan; #查看数据库 show databases; #使用 mysql_shiyan 数据库 use mysql_shiyan #查看表 show tables; #新建表 CREATE TABLE 表的名字 ( 列名a 数据类型(数据长度), 列名b 数据类型(数据长度), 列名c 数据类型(数据长度) ); 比如: CREATE TABLE employee (id int(10),name char(20),phone int(12)); #插入数据 INSERT INTO 表的名字(列名a,列名b,列名c) VALUES(值1,值2,值3); #查询数据 SELECT * FROM employee; #约束 约束类型: 主键 默认值 唯一 外键 非空 关键字: PRIMARY KEY DEFAULT UNIQUE FOREIGN KEY NOT NUL #直接使用github上复制的源码 source /home/shiyanlou/Desktop/SQL3/MySQL-03-01.sql #select语句 SELECT 要查询的列名 FROM 表名字 WHERE 限制条件;(where可以不填) SELECT name,age FROM employee WHERE age<25 OR age>30; #筛选出age小于25,或age大于30 SELECT name,age FROM employee WHERE age>25 AND age<30; #筛选出age大于25,且age小于30 SELECT name,age,phone,in_dpt FROM employee WHERE in_dpt IN ('dpt3','dpt4'); SELECT name,age,phone,in_dpt FROM employee WHERE in_dpt NOT IN ('dpt1','dpt3'); SELECT name,age,phone FROM employee WHERE phone LIKE '1101__'; #_代表一个 SELECT name,age,phone FROM employee WHERE name LIKE 'J%';# %代表不确定数量 SELECT name,age,salary,phone FROM employee ORDER BY salary DESC; # 对结果排序 asc升 desc降 函数名:COUNT SUM AVG MAX MIN 作用: 计数 求和 求平均值 最大值 最小值 SELECT MAX(salary) AS max_salary,MIN(salary) FROM employee; #子查询 SELECT of_dpt,COUNT(proj_name) AS count_project FROM project WHERE of_dpt IN (SELECT in_dpt FROM employee WHERE name='Tom'); #连接查询 SELECT id,name,people_num FROM employee,department WHERE employee.in_dpt = department.dpt_name ORDER BY id;
最后提一句,如果要用python使用mysql,那么 Mysqldb是不可或缺的,所以去http://www.codegood.com/downloads下载并安装吧